using System;
using System.Collections.Generic;
using System.Text;

namespace MCMLXVII.BackEnd.Services.SystemConfiguration.Messages
{
    [Serializable()]
    [System.Xml.Serialization.XmlType(Namespace = "http://tempuri.org/")]
    public struct StringNameAndValue
    {
        public string Name;
        public string Value;
        public StringNameAndValue(string name, string value)
        {
            Name = name;
            Value = value;
        }
    }

    [Serializable()]
    [System.Xml.Serialization.XmlType(Namespace = "http://tempuri.org/")]
    public class msgActionInfo
    {

        public msgActionInfo()
        {
        }

        public msgActionInfo(string Name, string Pipeline, string InternalPipeline, string AsyncPipeline, bool EarlyBinding,
                              bool Enabled, string EntryPoint, bool IsCritical, string PublishInTransport, string TypeAndAssembly, StringNameAndValue[] AditionalConfigInfo)
        {
            _Name = Name;
            _Pipeline = Pipeline;
            _InternalPipeline = InternalPipeline;
            _AsyncPipeline = AsyncPipeline;
            _EarlyBinding = EarlyBinding;
            _Enabled = Enabled;
            _EntryPoint = EntryPoint;
            _IsCritical = IsCritical;
            _PublishInTransport = PublishInTransport;
            _TypeAndAssembly = TypeAndAssembly;
            _AditionalConfigInfo = AditionalConfigInfo;

        }

        private string _Name;

        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        private string _TypeAndAssembly;

        public string TypeAndAssembly
        {
            get { return _TypeAndAssembly; }
            set { _TypeAndAssembly = value; }
        }
        private string _EntryPoint;

        public string EntryPoint
        {
            get { return _EntryPoint; }
            set { _EntryPoint = value; }
        }
        private bool _EarlyBinding;

        public bool EarlyBinding
        {
            get { return _EarlyBinding; }
            set { _EarlyBinding = value; }
        }
        private bool _Enabled;

        public bool Enabled
        {
            get { return _Enabled; }
            set { _Enabled = value; }
        }
        private bool _IsCritical;

        public bool IsCritical
        {
            get { return _IsCritical; }
            set { _IsCritical = value; }
        }
        private string _PublishInTransport;

        public string PublishInTransport
        {
            get { return _PublishInTransport; }
            set { _PublishInTransport = value; }
        }
        private string _Pipeline;

        public string Pipeline
        {
            get { return _Pipeline; }
            set { _Pipeline = value; }
        }
        private string _AsyncPipeline;

        public string AsyncPipeline
        {
            get { return _AsyncPipeline; }
            set { _AsyncPipeline = value; }
        }
        private string _InternalPipeline;

        public string InternalPipeline
        {
            get { return _InternalPipeline; }
            set { _InternalPipeline = value; }
        }
        private StringNameAndValue[] _AditionalConfigInfo;

        public StringNameAndValue[] AditionalConfigInfo
        {
            get { return _AditionalConfigInfo; }
            set { _AditionalConfigInfo = value; }
        }

    }
}
